{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 学习曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "np.random.seed(666)\n",
    "x = np.random.uniform(-3.0, 3.0, size=100)\n",
    "X = x.reshape(-1, 1)\n",
    "y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, size=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1089e2cf8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 学习曲线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(75, 1)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.metrics import mean_squared_error\n",
    "\n",
    "train_score = []\n",
    "test_score = []\n",
    "for i in range(1, 76):\n",
    "    lin_reg = LinearRegression()\n",
    "    lin_reg.fit(X_train[:i], y_train[:i])\n",
    "    \n",
    "    y_train_predict = lin_reg.predict(X_train[:i])\n",
    "    train_score.append(mean_squared_error(y_train[:i], y_train_predict))\n",
    "    \n",
    "    y_test_predict = lin_reg.predict(X_test)\n",
    "    test_score.append(mean_squared_error(y_test, y_test_predict))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10dfe5518>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([i for i in range(1, 76)], np.sqrt(train_score), label=\"train\")\n",
    "plt.plot([i for i in range(1, 76)], np.sqrt(test_score), label=\"test\")\n",
    "plt.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10dfe5a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_learning_curve(algo, X_train, X_test, y_train, y_test):\n",
    "    train_score = []\n",
    "    test_score = []\n",
    "    for i in range(1, len(X_train)+1):\n",
    "        algo.fit(X_train[:i], y_train[:i])\n",
    "    \n",
    "        y_train_predict = algo.predict(X_train[:i])\n",
    "        train_score.append(mean_squared_error(y_train[:i], y_train_predict))\n",
    "    \n",
    "        y_test_predict = algo.predict(X_test)\n",
    "        test_score.append(mean_squared_error(y_test, y_test_predict))\n",
    "        \n",
    "    plt.plot([i for i in range(1, len(X_train)+1)], \n",
    "                               np.sqrt(train_score), label=\"train\")\n",
    "    plt.plot([i for i in range(1, len(X_train)+1)], \n",
    "                               np.sqrt(test_score), label=\"test\")\n",
    "    plt.legend()\n",
    "    plt.axis([0, len(X_train)+1, 0, 4])\n",
    "    plt.show()\n",
    "    \n",
    "plot_learning_curve(LinearRegression(), X_train, X_test, y_train, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt8W+WZ6PvfI1myfL/HuTgXB0JCgCSQEELp0ADTNgQG\n6GnL0BbodO/utN0zs9t92mlLd8sM53POnplz6e4w7UBpy54y7cCmUC6lYcplkpa2XJqEXMk9hMSJ\nEztObMs32ZKe88e7FCu+xLIj25L1fD8ffZa01tLSY1t+9Op53/UuUVWMMcZMLb7JDsAYY0z6WXI3\nxpgpyJK7McZMQZbcjTFmCrLkbowxU5Ald2OMmYJSTu4i4heRt0XkhSG2iYg8KCIHRGS7iFyV3jCN\nMcaMxmha7l8Edg+z7WZggXdbBzx0gXEZY4y5ACkldxGpA24BfjjMLrcDj6nzBlAuIjPSFKMxxphR\nyktxv+8AXwVKhtk+Czia9LjBW9eYvJOIrMO17CkqKlq+aNGiwUeKR+HEDiirg6Ka4SPq64bmPVA5\nH0JlKf4YxhiT3TZv3nxKVc+THJ0Rk7uI3Ao0qepmEVl9IUGp6iPAIwArVqzQTZs2Dd6pcTt8/4/g\nzgdh8e3DH6xxG3z/evjT/wGX3nohYRljTNYQkfdS2S+Vssx1wG0ichh4ArhRRH4yYJ9jwOykx3Xe\nutELn3DLkpGqOjKmwxtjTC4YMbmr6n2qWqeq84C7gH9X1bsH7PY8cK83amYV0KaqjQOPlZLwcbcc\nMbmfjXBML2OMMVNZqjX3QUTk8wCq+jCwHlgLHAC6gM+MOaJEy724dqQAxvwSxhgz1Y0quavqRmCj\nd//hpPUK/HlaIgo3QmE15AVTDSotL2uMyQ59fX00NDTQ09Mz2aGMq1AoRF1dHYFAYEzPH3PLfdy0\nN0JpKiUZa7kbk4saGhooKSlh3rx5yBT9Bq+qtLS00NDQQH19/ZiOkXnTD4QbR1FvB6u5G5Nbenp6\nqKqqmrKJHUBEqKqquqBvJxmY3E9AyfSR90v8Ya0sY0zOmcqJPeFCf8bMSu6xPuhshpKZKew89f+4\nxhgzVpmV3DtOAppay/0sa7kbYyZOa2sr//RP/zTq561du5bW1tZxiGhomZXcUz6BCRsKaYyZFMMl\n92g0et7nrV+/nvLy8vEKa5DMGi3T7p3AlNJoGY/V3I0xE+jrX/86Bw8eZNmyZQQCAUKhEBUVFezZ\ns4d9+/Zxxx13cPToUXp6evjiF7/IunXrAJg3bx6bNm2io6ODm2++mfe///38/ve/Z9asWTz33HMU\nFBSkNc7MSu6jablbzd2YnPfAL3bxzvH2tB5z8cxS/vpPLht2+9/93d+xc+dOtm7dysaNG7nlllvY\nuXPn2SGLjz76KJWVlXR3d3P11Vfz0Y9+lKqqqnOOsX//fh5//HF+8IMfcOedd/L0009z990DT/y/\nMBmW3BvBl+dOYkqZtdyNMZNn5cqV54xFf/DBB3nmmWcAOHr0KPv37x+U3Ovr61m2bBkAy5cv5/Dh\nw2mPK8OS+wkong6+FLoCbCikMTnvfC3siVJUVHT2/saNG3nllVd4/fXXKSwsZPXq1UOOVc/Pzz97\n3+/3093dnfa4MqxD9fgoRspYWcYYM/FKSkoIh8NDbmtra6OiooLCwkL27NnDG2+8McHR9cu8lnvV\nxZMdhTHGDKuqqorrrruOyy+/nIKCAmpr+yc5XLNmDQ8//DCXXnopCxcuZNWqVZMWZ4Yl90aovz61\nfW0opDFmkvzrv/7rkOvz8/N58cUXh9yWqKtXV1ezc+fOs+u/8pWvpD0+yKSyTG8X9LSN8gQmrOZu\njDFDyJzkHvau7ZHypGHWcjfGmOFkUHIfzRj3ZNZyN8aYgTIouY+y5W5DIY0xZlgZmNxHWXM3xhgz\nyIjJXURCIvKWiGwTkV0i8sAQ+6wWkTYR2erd7h91JOETECiEUNkon2gtd2OMGSiVlnsEuFFVlwLL\ngDUiMtTgzddUdZl3+z9GHUm7dwJTqkMcbSikMWYSjHXKX4DvfOc7dHV1pTmioY2Y3NXp8B4GvFv6\nm8vhE2PoTMVq7saYCZUtyT2lk5hExA9sBi4Gvqeqbw6x2/tEZDtwDPiKqu4aVSThRpi1fBRPsJa7\nMWbiJU/5+8EPfpBp06bx5JNPEolE+MhHPsIDDzxAZ2cnd955Jw0NDcRiMb71rW9x8uRJjh8/zg03\n3EB1dTUbNmwY1zhTSu6qGgOWiUg58IyIXK6qO5N22QLMUdUOEVkLPAssGHgcEVkHrAOYM2dO8guk\nfu3UwdGN4TnGmCnhxa/DiR3pPeb0K+Dmvxt2c/KUvy+99BJPPfUUb731FqrKbbfdxm9+8xuam5uZ\nOXMmv/zlLwE350xZWRnf/va32bBhA9XVo5n5dmxGNVpGVVuBDcCaAevbE6UbVV0PBERkUPSq+oiq\nrlDVFTU1Nf0beloh2j26sozV3I0xk+yll17ipZde4sorr+Sqq65iz5497N+/nyuuuIKXX36Zr33t\na7z22muUlY12oMiFG7HlLiI1QJ+qtopIAfBB4O8H7DMdOKmqKiIrcR8aLSlHkTiBaTRXYEqwmrsx\nues8LeyJoKrcd999fO5znxu0bcuWLaxfv55vfvOb3HTTTdx//+gHEV6IVMoyM4Afe3V3H/Ckqr4g\nIp8HUNWHgY8BXxCRKNAN3KU6iqxbvRC+st8NhUxZouVuyd0YM3GSp/z98Ic/zLe+9S0+9alPUVxc\nzLFjxwgEAkSjUSorK7n77rspLy/nhz/84TnPnYiyzIjJXVW3A1cOsf7hpPvfBb475ih8PiieNrrn\nWFnGGDMJkqf8vfnmm/nkJz/JtddeC0BxcTE/+clPOHDgAH/1V3+Fz+cjEAjw0EMPAbBu3TrWrFnD\nzJkzx71DVUbTwE6nFStW6KZNm8Z+gNYj8J0r4LbvwlX3pC8wY0xG2717N5deeulkhzEhhvpZRWSz\nqq4Y6bmZM/3AqFnL3RhjhpPFyT3Bau7GGDNQ9iZ3q7kbk7Mmq5w8kS70Z8ze5J6QA39kY0y/UChE\nS0vLlE7wqkpLSwuhUGjMx8isa6iOig2FNCYX1dXV0dDQQHNz82SHMq5CoRB1dXVjfn72JncryxiT\nkwKBAPX19ZMdRsazsowxxkxBWZzcreVujDHDyeLknmAtd2OMGSh7k7vV3I0xZljZm9wTrOZujDGD\nZHFyt6GQxhgznCxO7sYYY4aTvck9UXO3sowxxgySvcndhkIaY8ywsji5G2OMGU72JncbCmmMMcPK\n3uSeYDV3Y4wZZMTkLiIhEXlLRLaJyC4ReWCIfUREHhSRAyKyXUSuGp9wz3nV8X8JY4zJUqnMChkB\nblTVDhEJAL8VkRdV9Y2kfW4GFni3a4CHvOUEsJa7McYMNGLLXZ0O72HAuw3MqLcDj3n7vgGUi8iM\n9IY6gA2FNMaYYaVUcxcRv4hsBZqAl1X1zQG7zAKOJj1u8NYNPM46EdkkIpum+kT7xhgzmVJK7qoa\nU9VlQB2wUkQuH8uLqeojqrpCVVfU1NSM5RBDHTVNxzHGmKljVKNlVLUV2ACsGbDpGDA76XGdt278\n2FBIY4wZViqjZWpEpNy7XwB8ENgzYLfngXu9UTOrgDZVbUx7tEOxmrsxxgySymiZGcCPRcSP+zB4\nUlVfEJHPA6jqw8B6YC1wAOgCPjNO8SaxlrsxxgxnxOSuqtuBK4dY/3DSfQX+PL2hpcpa7sYYM1D2\nnqFqQyGNMWZY2ZvcrSxjjDHDyuLknmAtd2OMGSh7k7sNhTTGmGFlb3JPsJq7McYMksXJ3Vruxhgz\nnCxO7gnWcjfGmIGyN7nbUEhjjBlW9iZ3Y4wxw8ri5J6ouVvL3RhjBsre5G5DIY0xZljZm9wTrOZu\njDGDZHFyt5a7McYMJ4uTe4K13I0xZqDsTe5WczfGmGFlb3JPsJq7McYMksXJ3YZCGmPMcLI3uVtZ\nxhhjhpXKBbJni8gGEXlHRHaJyBeH2Ge1iLSJyFbvdv/4hDsEa7gbY8wgqVwgOwp8WVW3iEgJsFlE\nXlbVdwbs95qq3pr+EIdjLXdjjBnOiC13VW1U1S3e/TCwG5g13oGlzpruxhgz0Khq7iIyD7gSeHOI\nze8Tke0i8qKIXDbM89eJyCYR2dTc3DzqYAcc7MKeb4wxU1jKyV1EioGngS+pavuAzVuAOaq6BPhH\n4NmhjqGqj6jqClVdUVNTM9aYBx40PccxxpgpJKXkLiIBXGL/qar+fOB2VW1X1Q7v/nogICLVaY10\ncFSJVx/flzHGmCyUymgZAX4E7FbVbw+zz3RvP0RkpXfclnQGOsSLjuvhjTEmm6UyWuY64B5gh4hs\n9dZ9A5gDoKoPAx8DviAiUaAbuEt1guolyS+z4yl4+1/g3ucm5KWNMSZTjZjcVfW3jDDuUFW/C3w3\nXUGlZKiW+4FX4NBGiEYgL39CwzHGmEySvWeonpXUcj99yC17Bvb3GmNMbpkCyT3J6Xfdsqd1cuMw\nxphJlv3JPVFzj4Shs8nd72mbvHiMMSYDZHlyF86WZc4c7l9tLXdjTI7L8uSeJFFvB+i25G6MyW3Z\nndxF+ssyycndyjLGmByX3ck9eYTm6XchWOLuW3I3xuS4LE/ucLbmfvoQTFsE/qDV3I0xOS+7k3vy\niUxnDkPlfAiVWcvdGJPzsju5g6u5RyPQ1uAl93LrUDXG5LwsT+5ey/3Me4BCRb213I0xhqxP7gDa\nP1LGyjLGGANke3JPDIU84007UDkfCsqtQ9UYk/OyO7knyjKnD0F+KRRWWsvdGGPI+uQOrizzLlTW\nu5Z8Irnb5feMMTksu5O7JLXcK+rd/VA5xKPQ2zl5cRljzCTL7uQOEI9B6xFXbwfXcgcrzRhjclqW\nJ3eBtqMQ73NlGXAdqmDJ3RiT01K5QPZsEdkgIu+IyC4R+eIQ+4iIPCgiB0Rku4hcNT7hDiF5GCQk\ntdxtxIwxJnelcoHsKPBlVd0iIiXAZhF5WVXfSdrnZmCBd7sGeMhbji+R/qsvna25W1nGGGNGbLmr\naqOqbvHuh4HdwKwBu90OPKbOG0C5iMxIe7SDCPR2QF4ISryXC1lZxhhjRlVzF5F5wJXAmwM2zQKO\nJj1uYPAHACKyTkQ2icim5ubm0UV6PhXzwOf9KInkbvPLGGNyWMrJXUSKgaeBL6lq+1heTFUfUdUV\nqrqipqZmLIcYGJRbJurtAKFSt7SWuzEmh6WU3EUkgEvsP1XVnw+xyzFgdtLjOm/dxEjU2wH8AQgW\nW3I3xuS0VEbLCPAjYLeqfnuY3Z4H7vVGzawC2lS1MY1xDhedW1TWn7s6VGajZYwxOS2V0TLXAfcA\nO0Rkq7fuG8AcAFV9GFgPrAUOAF3AZ9If6nkMmdyt5W6MyV0jJndV/S3nXKx0yH0U+PN0BZWyoWru\nYBfsMMbkvCw/QxUQP5TNPnedtdyNMTkuy5O7QPkc14marKDckrsxJqdld3IXBtfbwTpUjTE5L7uT\ne34pTFs8eH2oDCLtbsZIY4zJQamMlslcf/YCFFYNXp84SzXSDgUVExuTMcZkgOxuuVfMg/ySwesT\nk4fZiBljTI7K7uQ+HJsZ0hiT46ZmcrcLdhhjctzUTO52wQ5jTI6bosndWu7GmNw2RZO71dyNMblt\naib3YDGIz0bLGGNy1tRM7j6fzS9jjMlpUzO5g01BYIzJaVM8uVvL3RiTm6ZwcreZIY0xuWsKJ/cy\n61A1xuSsqZ3creVujMlRqVwg+1ERaRKRncNsXy0ibSKy1bvdn/4wx8Au2GGMyWGpTPn7z8B3gcfO\ns89rqnprWiJKl1AZRLshGoG8/MmOxhhjJtSILXdV/Q1wegJiSS+bgsAYk8PSVXN/n4hsF5EXReSy\n4XYSkXUisklENjU3N6fppYdhyd0Yk8PSkdy3AHNUdQnwj8Czw+2oqo+o6gpVXVFTU5OGlz4Pu2CH\nMSaHXXByV9V2Ve3w7q8HAiJSfcGRXSib090Yk8MuOLmLyHQREe/+Su+YLRd63Atmc7obY3LYiKNl\nRORxYDVQLSINwF8DAQBVfRj4GPAFEYkC3cBdqqrjFnGqLLkbY3LYiMldVT8xwvbv4oZKZhbrUDXG\n5LCpe4ZqIAT+fOtQNcbkpFROYspeY52CIB6D3k5AQdUtA0WQF0x3hMYYMy6mdnIfyxQEzXvhpx+H\n1vfOXR8qg9v+ERbfnr74jDFmnEzt5D7UBTsO/juceQ+uvBv8gXO3HdsMP/kY+PLgjx9wSxFAYOdT\n8OS9sHIdfOj/tCkNjDEZbYon93LoOtX/uK8bnv5Pbt2b34e1/zfUX++2HdoIT3wKCivhnmeh6qJz\nj3X1Z+GVv4E3vgdH34KP/0+onD9RP4kxxozKFE/uZXD6YP/jrf/qEvvq+9z9H/8JXPYRqP8AvPhV\nqLoY7v45lM4YfKy8IKz57zDvOnj2C/D9D8An/xfMfd/E/TxmaujtdOW/5j3QNeCUkLwQXPJhKJ8z\nObFlglMHYN+L0NdDf78X4PNDoNANlsgr6O8DSx55LT73jdwfdN+8Uejtgr4u93vv64JIB/R2QCTs\nlgDBItevFiyC/GIoqICCStfYK6iE8tmQXzKRv4ULJpM1JH3FihW6adOm8X2RF/532PUMfO1d10n6\nj8vdH+uzr0K0B373IPz22+5+3UqXrAsrRz5u6xF47A73xvj8b6F42vj+HCZ7hU9C41Y4vhUat0HT\nLlcWZIT/uznvgyUfh8V3pPaezHaRDve/+vZP4Ogb4/96AS+JB4vd40Ti7+0AjQ/9nOLpUL3ANQJr\nFsL0K6D28v6z4SeIiGxW1RUj7Te1W+6JDlVV2P0LOPMufPABV0cPFMDqr8HSu2DPL2H5p92ndirK\n58Cdj8EPb4Kf/yfX2vf5x/dnMRNDFdoa3HskWOxaa+f720Y6YP9L7j3UcRJifRDvc8vOZgg3ejuK\nSwozr4Sln4Rpl7pbca3Xr+PpaHJJbvuT8MJ/hfVfhaKa/mPGY6Axrz/I55b+gGtdlkx3t+Ja1/LM\ny3c3v7cMFrv3eLDI3S+Z7hJcKiJh93vp6/ZateWQXwa+CxhN3dsJB16FPS/A7hegr9P9jv74b2DJ\nn7qfG+nv94r3uQTc19M/nXfydnC/m+S/AQLBQq/FX+juB4uH/5uqup+x+zR0nfaWLXDmMLQchFP7\n4Z3n3PqE8rkwbbH7JhGPuQ+HeAxCpVBRD5X1blkxD4qqB/f1jZOp3XL/3T/Ay/fDfQ3w49tc5+pf\nbEpfIt78Y/jFf4HV33AfFCY7dTS5PpfErf3YudvzCty3s6qLoPIil4CChbDvV3DgFffNr2iaW+8P\nuJsv4MqCM5bAjGVuOZqv9apwYjvs/LlLLv6AS+S+gEtmGod41N1ifW6fcKP7ptBx0iW5VJTMhOqL\noWqBK0dGOiDS7hpFPW3Q3uiSemSoUWfivlXUXOp+vulXuFuR9002OSl3t7r/v+4zED7hBjYceNUl\n6YIKWHQLXHkPzL7m3A+7TBU+CSd2uL/Rie2uzBaPudzi84P43QdAW8PgbwKhcvfBVVTtPmjzQq6M\nlBdyjxPbimrcrWbhOd/erOUO/VMQ7PklHN8Ct/6P9Lawr7oX3vsdbPxbmLMK5n8gfcceSuIf/t3X\nXKIoroWSWrcsmgb+If6cqu6f6fQh98Ypm+3eKBP1D3Ryl/tHDpVBWR2UzXHLQGhiXn+geBxO7YWj\nb8LRP0DDW3Bqn9tWUOH6X+b9V5dMIx2uddkbdknu9EHY/r9c8gOXGJf/mRseO/ua9L63RGDGUncb\nrXjctYKjvRCLuBZuNOL9LB39y9Yj0HLAtUZ3POUSeOJDKVTmtTznun6m0lne362wP0l3t7oPkqZ3\nYPM/u1Z1qkpmwlX3wKJbYe51Q793M1mJ97+34I/Pv1+0F9qOwul33fDqzlOu36+z2d3vPuP9fXrc\nMhIePMLvoz+CKz426hCz7Dc6SokpCDb8d/cJuPS8MymMngjc8m04/jY8/VlXf/cHXMuv/bj7A/oC\n/R1AgZDXySP9z/cFXKLOL3H/TIHCcxOvqkuQu55xt+QO4nNi8bkkXzrT3QKF/f+4iWSUkFfg/lFL\npkNhlUv2hVX9X+UTX+P9ARerxlzC0Jh7E3Y2u9Zux0nobHEtvkSrbfoSlzx2PuUSRtM7Q8ebOCnM\nn++WgSJX7qr0vr5W1MOsq9LTn9F+3LUSD77qWubdZ9z6gkqYvdK9L+avdol0pASt6v2DtkD1JRdW\nlhgvPp/3nhrFc1T7r1o2lg/+eMw1IE5s984KH9ARGir3yjnerWx2Zv7u0i0v6L7xDRx9dz6Jb2Kd\nze42bfGYXnpql2UOboB/ucPdv/GbcP1fjc/rnHwHfnCjS3wjdZSNRHzupup9ndP+9fXXu9E9l6xx\nb4BEgu044VrniQ+V9uMuwVbOdwmoZqG739flvia2NbjWRPhEf12x+8zwHUlDCZW5D5PCqv7jDTT7\nGrji4651Fuvt36/1qGudRCOuZRnrcy2WM++5fpHECAZwHVbzV8P8G6D2Mvc1vrezv/XZ035uGSES\ndtsSy/ZjblQKuA6xi26E+j9yHehVF2VHCcCYJFaWgf6yTKAIVvzH8Xud2sXwqSddx1qJ13IuneXq\nZnGvtRvtcR018aj3JK9lE496X8XaXJKKhN16EZfQEXe8RbdC8YALnJTPTt/PEI+7109OuNGIi1MS\ndUSfqw0W1Qwuq3Sd9mqQO1wLf/HtrgWerGLuyHGoulZLywFX8jq0Ed56BF5PYW468VqswRJvJIT3\nbWDZJ+Gim9yHgyVzkyOmdnIvrHLL5Z8e/+Fk9df3nxCVjXy+CxvSVVjp+hwutN9BxOtMqnb9GH/0\nZTdO+cjv3YiFxFjkxKiH/NL+GnGwyJK3MZ6pndwr5rrOiAUfmuxIzIUIFsLFI3RcGWPOMbWTO4yp\nl9kYY7JdDnRXG2NM7rHkbozJOEdPd9EcjhCPT/4VO7NVKtdQfRS4FWhS1cuH2C7APwBrgS7gz1R1\nS7oDNcZMfT19MR74xS4ef8sNrQ34hWklIaaXhagtzaemOJ9ppSFqivOpKc1nWkk+NSX5VBXl4/dZ\nZ3qyVGru/4y7Rupjw2y/GVjg3a4BHvKWxhiTsoYzXfznn25he0Mb/+G6euZWFXKivYeTbT00tvWw\n90SY34ZP0d4THfRcv0+oKgoyrTSf2pIQ00rzqSkJUVUUpCg/j+J8v7fMo6IwSGVxkJL8PGQKj65K\n5QLZvxGReefZ5XbgMXVnQ70hIuUiMkNVG8/zHGOMOeu1/c38l8ffJhpTHrlnOR+6bPqw+/b0xWgO\nR2gKR2gO99AUjtDUHqHJu9/Y1sO2hjZaOiOc7xzNgF9coi8KUl2cT1VxkKqifMoKAsRUicbiRONK\nXyxONKZE43H6Yu5xd2+MM129nOnq40xnL+09fe6DoyhIVVGQisIgwTwfUW//3licWFzJ8/sI+ISA\n30cgz0dxfh7lhQEqCgOUFwYpDeWRn+cnP89HfsBHfp6f2RWFlBWOfrKxdIyWmQUkn57Y4K0blNxF\nZB2wDmDOnByer9oYQyyu/OHwaZ7bepwn/nCES6aV8PA9y6mvPv/srKGAn9mVhcyuLDzvftFYnLbu\nPjojMToiUTp7o3T0RDnd2cuZrl5aOns53eGWLZ0RjhzpoqUjQmevm3Qtzyfk+YWAz0eeX84m5jy/\nj4KAn4qiAJfUFntJOUBHpI8znX2c7uzlvZYu+mJxL4m7ZO4Xoas35j4koi7pt/dEae3qJXqevoUH\nP3Elty2dOerf74QOhVTVR4BHwE0/MJGvbUy2OXyqk7//tz2c6eplZnkBM8sKmFlewIzyENNL3a28\nMDAppYWu3ihb3mtl+7FW2rujdPVG6YhE6YrEyA/4qC7Op7rY1cPLCwL4/YJPBL8IfbE4v97XzPod\njTSFIxQE/Hxi5Ry+eculFAbTl5Ly/D6qivOpSnFW44RYXPEJE/Z7VVU6e2Oc6ewl3BOlNxYn0hcj\nEo0Tica5fFbpmI6bjt/kMSD5PPg6b50xZgz6YnF+8Noh/uGV/QT9Pi6ZXsIbB1s40d7DwAZeMM9H\nbWk+JfkBCoJ+CoN+QgG3TNSYi4J5lITyqC7Jp7bEdUjWluYTyvMTVyWm6uZDi0Q5eqabo6e7OHK6\ni2Ot3fgEioJ5Z4/dHI7w1uEz7DzWRswLJpjnoyjopzCYR1G+n56+OM3hCN19w087HMzzccPCGm5d\nMpObLp2W1qR+oSa6Y1ZEKPb+VumUjqM9D/yFiDyB60hts3q7yVWqypYjrfxs01G2NbQR8Luv5EG/\nj2Ceu+UnLcsKgtRVFLgyQ0UBZ7p6+W/P7GTPiTBrLpvO39x2GdPL3Dw+0Vjcqyl3c6Itwon2Hpra\nezjZ3kNHJEZ3n2s9N4cjdPXG6Iy4x5HoKCaES1JZ5C5j19UbpafPHSPo97Fsdjmf/8B8VtZXcdWc\nckpCQ9eDOyNRTnVEaO3qI67q3dz0QZfOKBn2eSY9UhkK+TiwGqgWkQbgr4EAgKo+DKzHDYM8gBsK\n+ZnxCnaqeWnXCR5/6whX1JXz/ourWTa7nGCenXqQjZrae3jm7WM8uekoB5s7KQj4uWZ+JQL0xuL0\nRuN0dUXpjSmRaIxe7yt3W1cfvbFzk29taT7fv2c5Hx7QqZjn97nyTHnBqGKLxuKEe6I0d7iOx5Pt\nruOxNxrHJ+DzuZJJKOCjrqKQOZWF1FUUUJTUkozFle6+GAG/kJ+X2rz1Rfl5FOXnMbdqVOGaNJna\nU/5OoBNtPZzqiHDZzNKUanW/3tfMZ3/8B0pDAc509RJXKAz6WVlfyU2X1vLhy2qZVjJJF7QwI4rH\nle3H2tiwp4kNe5vY3uCuVLRibgV3rpjN2iUzUvqaHY8rJ8M9HD3tyiGdvVHuuHIWpdaqNcNIdcpf\nS+5pcvv3fse2o61cOqOUu1fN4Y5ls85p+STb/N5p7v7hW9RXF/HE51ahCm8cauF3B07xm33NHG7p\nQgSunlvJmsunc+1FVVQWBSkvDKTcajKjE4sr+5vCbDvayu7GMMX5edSWhZhR6k6giURj7DvZwf6T\nHexvCrNJA/3wAAANwUlEQVTreDunO3vxCVw5p4IbFtZw8xUzuKhmlL13xoySJfcJtO1oK7d/73fc\numQGB5s72d3YTnF+Hrcvm8lHrpzFVXMq8HmdNLsb2/nT779OVXE+T37uWmpKzr1cjqqyv6mD9Tsa\n+bedJ9hzInzO9qKgn8riIBfVFLNoeimLppewcHoJAb+P5nCE5o4IzeEIPX0x5lYVclFNMfXVRYQC\n9qFwqLmDX2xrpCncc3b8cV9caWrvYcexNrq8IXBFQT890fjZDsNkoYCPBdNKuKS2hOsvqeb6BTVU\neLVpYyaCJfcJ9JWfbWP9jkbe/MZNFOfn8fbRVn7yxnv8cnsjkWicGWUh1l4xg2vnV3HfMzvwi/DU\nF66lruL843TBJaTdjWHOdPXS2tXL6c4+mjsi7D8Z5mBzB32xkf9+IjCrvID66iLqq4uYV+WWF08r\npq6iIKPP0otEY2w90srrh1rYeyLM6c7es+OU27r7KCsIMq0k/+yZiTPLC5hbVcjcqkLmVRXhE+EX\n24/z9JYG3j7Sik+gojDYP/7Y56OsMMDSunKWzi5j2ewK5lUVElc41RHhhHd2ZMAvXFJbwqzygrMf\n1MZMBkvuE+RMZy+r/vZVPra8jv/rI1ecsy3c08eru5t4Yftxfr2vmb6YUl4Y4Gefu5YFtSUX/Np9\nsTiHmjvZezKMqnrzbuRTUxwimOfj3VOdHGzu4FCzWx5u6eTd5k7Ckf7Tt6uKgiydXc6SujKWzi5n\naV352VESF0pVeW7rcb634QCdkSiKd/VAFL8IgTw3iiTg9xEK+CgJBSgJ5VFaEKAw4GfPiTCb3jtN\nT18cEaivLqK6OJ/KxOnjoTzau/s4mTg7sd19cxnqLb2wtoSPLp/FHctmMa3U+jJM9rLkPkG+/+uD\n/O2Le/jVl65n4fThE3Zbdx8b9jSxeGYpl6QhsY+VqtLS2cvhU53sOeFqzNsaWtnf1HE2KdZVFLC0\nziX8meUFZ4fwBf0+N/qhsnDEUsThU51889md/PbAKS6fVcqi6aUI3tUDEeKqZ0eR9MXi9PTFCff0\nEe6J0u4t51UVce1FVbzvoiquqa9K6RTsnr4YDWe6OHyqi8MtnbT3RPnQ4tqUO7qNyXSW3Iex5cgZ\n9p8Ms+ayGWOaryFZPK584P/dwIyyAp783LVpinBydESi7GhoY3tDK9sb2tjW0ErDme5h9y8vDDCv\nqoj51UXMLC+gtqz/rMlf72viwX8/QL7fx1fXLOST18y1GfuMSRO7QPYw7nt6B3tPhvnWs7u4cdE0\n/rerZrF64bQxjS//9b5mjp7u5qsfXjQOkU6s4vw8rr2oimsv6h+U3NIRoaWzl95o/GwrO9wT5b2W\nTt495W5vHBr6zMlblszg/lsXU2slEGMmRU4l9+Ot3ew9GeaeVXMJ+H08v+0Y/7brBCWhPBbWlrgO\nx5oi5lcXs2p+JeWF5y89PPb6YWpK8gedbDJVuHk58kfcLxbXczofq4qDXD1vnC9Ibow5r5xK7hv3\nNgNw77VzWVBbwjfWLuK1/ad4efdJDjZ1sHFfMz/b3ABAQcDPXStn89k/ms+sIc4IPNLSxcZ9zfzl\njQty/qxSv0+oLQ1RWxpi6eyR9zfGjL+cSu4b9jYxq7yAi6e5E03y/D5uWDSNGxZNO7tPuKePfSfD\n/PTNI/zL6+/xL6+/x23LZnL3qrnMqSyksjCIzyf89M338InwyZU2dbExJvPkTHKPRGP8/sApPnLV\nrPOOmigJBVg+t5Llcyv58ocW8qPX3uXxt47w8y1uoss8n1BdnM+Zrl4+tLj27KROxhiTSXImuW86\nfIbO3hirL5k28s6eWeUF3P8ni/nLGy/m9UMtNHkTLjWF3Ux3f3njgnGM2Bhjxi5nkvuGPU0E/T7e\nd/Hop6irKAqy9ooZ4xCVMcaMj5zpCdy4r5lr5ldm1EUBjDFmvOREcj96uosDTR2sXph6ScYYY7JZ\nTiT3jXubALhhYc0kR2KMMRMjR5J7M3MqC0e8qroxxkwVUz659/TF+N3BU9ywsMYmjjLG5IyUkruI\nrBGRvSJyQES+PsT21SLSJiJbvdv96Q91bN56100Za/V2Y0wuSeUC2X7ge8AHgQbgDyLyvKq+M2DX\n11T11nGI8YJs2NtEfp6PVfPtKr3GmNyRSst9JXBAVQ+pai/wBHD7+IaVPhv3NrNqfhUFQbvMnDEm\nd6SS3GcBR5MeN3jrBnqfiGwXkRdF5LK0RHeBntrcwLunOrlxkZVkjDG5JV1n9GwB5qhqh4isBZ4F\nBp2bLyLrgHUAc+aM74RbL2w/zlef2sb7L67mT6+2qQqNMbkllZb7MSA5O9Z5685S1XZV7fDurwcC\nIlI98ECq+oiqrlDVFTU14zfm/JV3TvKlJ7ayfG4Fj9y7nFDASjLGmNySSnL/A7BAROpFJAjcBTyf\nvIOITBdvnKGIrPSO25LuYFPx2v5m/vNPt3DZzFIe/bOrbboBY0xOGjHzqWpURP4C+BXgBx5V1V0i\n8nlv+8PAx4AviEgU6Abu0gm+OOuRli5e3n2S/+dXe5hfU8SP/8NKSkIXdo1UY4zJVll9geztDa08\nt/U4G/Y2cai5E4AldWX86NNXU1My8uXhjDEm20z5C2TH4sqnfvAmkWica+ZXcs+quaxeOM2mGDDG\nGLI4uR9s7iAcifL/fXwpH11eN9nhGGNMRsnauWW2HW0FYOnsskmOxBhjMk/WJvftDW0U5+cxv7p4\nskMxxpiMk8XJvZXLZ5Xi89lMj8YYM1BWJvfeaJzdjWGW1JVPdijGGJORsjK57z0RpjcWZ0md1duN\nMWYoWZnctzV4nanWcjfGmCFlZXLf3tBKRWGAuoqCyQ7FGGMyUpYm9zaW1JXbZfOMMWYYWZfcu3tj\n7G/qsHq7McacR9Yl913H24jF1UbKGGPMeWRdct/W0AbAUmu5G2PMsLIuuW9vaGV6aYhppaHJDsUY\nYzJW1iX3HQ1tVm83xpgRZFVyb+vu49CpTkvuxhgzgqxK7juPuXq7daYaY8z5ZVVyT5yZai13Y4w5\nv6xK7jsa2phbVUh5YXCyQzHGmIyWUnIXkTUisldEDojI14fYLiLyoLd9u4hclf5Q+89MNcYYc34j\nJncR8QPfA24GFgOfEJHFA3a7GVjg3dYBD6U5Tk51RDjW2s2SWVaSMcaYkaRyDdWVwAFVPQQgIk8A\ntwPvJO1zO/CYqirwhoiUi8gMVW1MJYjDpzq55cHXzrtPTBWwersxxqQileQ+Czia9LgBuCaFfWYB\n5yR3EVmHa9kDRERk56iiBVb9/WifkTbVwKlJe/XRs3jHl8U7/rIt5omKd24qO6WS3NNGVR8BHgEQ\nkU2qumIiX/9CWLzjy+IdX9kWL2RfzJkWbyodqseA2UmP67x1o93HGGPMBEkluf8BWCAi9SISBO4C\nnh+wz/PAvd6omVVAW6r1dmOMMek3YllGVaMi8hfArwA/8Kiq7hKRz3vbHwbWA2uBA0AX8JkUXvuR\nMUc9OSze8WXxjq9sixeyL+aMilfUG4VijDFm6siqM1SNMcakxpK7McZMQZOS3EeazmCyicijItKU\nPA5fRCpF5GUR2e8tKyYzxmQiMltENojIOyKyS0S+6K3PyJhFJCQib4nINi/eB7z1GRkvuDO1ReRt\nEXnBe5yxsQKIyGER2SEiW0Vkk7cuY2P2Tnx8SkT2iMhuEbk2U+MVkYXe7zVxaxeRL2VavBOe3FOc\nzmCy/TOwZsC6rwOvquoC4FXvcaaIAl9W1cXAKuDPvd9ppsYcAW5U1aXAMmCNN8oqU+MF+CKwO+lx\nJseacIOqLksae53JMf8D8G+qughYivtdZ2S8qrrX+70uA5bjBpE8Q6bFq6oTegOuBX6V9Pg+4L6J\njiOFOOcBO5Me7wVmePdnAHsnO8bzxP4c8MFsiBkoBLbgznrOyHhx5228CtwIvJAN7wfgMFA9YF1G\nxgyUAe/iDfDI9HgHxPgh4HeZGO9klGWGm6og09Vq/9j9E0DtZAYzHBGZB1wJvEkGx+yVObYCTcDL\nqprJ8X4H+CoQT1qXqbEmKPCKiGz2pv2AzI25HmgG/qdX+vqhiBSRufEmuwt43LufUfFah+oYqPto\nzrgxpCJSDDwNfElV25O3ZVrMqhpT97W2DlgpIpcP2J4R8YrIrUCTqm4ebp9MiXWA93u/35txZbrr\nkzdmWMx5wFXAQ6p6JdDJgJJGhsULgHdS523AzwZuy4R4JyO5Z+tUBSdFZAaAt2ya5HjOISIBXGL/\nqar+3Fud0TEDqGorsAHXx5GJ8V4H3CYih4EngBtF5CdkZqxnqeoxb9mEqwevJHNjbgAavG9vAE/h\nkn2mxptwM7BFVU96jzMq3slI7qlMZ5CJngc+7d3/NK6unRFERIAfAbtV9dtJmzIyZhGpEZFy734B\nrn9gDxkYr6rep6p1qjoP9179d1W9mwyMNUFEikSkJHEfVxfeSYbGrKongKMistBbdRNuSvGMjDfJ\nJ+gvyUCmxTtJnRBrgX3AQeC/TWanwzDxPY6brrgP16r4j0AVrlNtP/AKUDnZcSbF+37cV8DtwFbv\ntjZTYwaWAG978e4E7vfWZ2S8SXGvpr9DNWNjBeYD27zbrsT/WIbHvAzY5L0nngUqMjzeIqAFKEta\nl1Hx2vQDxhgzBVmHqjHGTEGW3I0xZgqy5G6MMVOQJXdjjJmCLLkbY8wUZMndGGOmIEvuxhgzBf3/\ngRvai6uKefEAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10e4a36d8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.pipeline import Pipeline\n",
    "\n",
    "def PolynomialRegression(degree):\n",
    "    return Pipeline([\n",
    "        (\"poly\", PolynomialFeatures(degree=degree)),\n",
    "        (\"std_scaler\", StandardScaler()),\n",
    "        (\"lin_reg\", LinearRegression())\n",
    "    ])\n",
    "\n",
    "poly2_reg = PolynomialRegression(degree=2)\n",
    "plot_learning_curve(poly2_reg, X_train, X_test, y_train, y_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x108d820f0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "poly20_reg = PolynomialRegression(degree=20)\n",
    "plot_learning_curve(poly20_reg, X_train, X_test, y_train, y_test)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
